It is common practice in the computer and electronics industries to design hardware systems with some degree of modularity. For example, personal computers often include modular components such as motherboards, microprocessors, memory chips, video cards, audio processing cards, and the like. The use of modular components allows systems integrators to offer a wide range of systems having different performance characteristics at various price points. It also allows consumers the ability to modify or upgrade their systems by selectively replacing various components.
As a result of modular system designs, component manufacturers often produce multiple versions of a particular component. Apart from products differing based on technological advances, a component manufacturer may offer multiple products in a related product family having differing performance capabilities such as processing speed. In some cases, component manufacturers may add additional hardware modules to a component in order to provide different products. For example, a CPU manufacturer may integrate specialized graphics processing capabilities in an integrated chipset. In other cases, additional hardware may be physically present but not utilized. For example, a CPU manufacturer may sell a dual-core processor based on two processing cores on a single die. The CPU manufacturer may also sell a single-core processor that uses the same two-core die as the dual-core processor, but with only one active core. This allows the manufacturer to sell dies having a manufacturing defect in one but not both of the cores. However, the manufacturer may simply choose to disable one of two non-defective processing cores in a two-core die and sell it as a single-core processor. This strategy requires less effort than launching and maintaining a separate line of CPUs that physically have a single processing core. In such cases of a non-defective dual-core processor sold as a single-core processor, an end-user may successfully re-activate the disabled core without the manufacturer receiving any additional revenue.
In some cases, a hardware systems integrator may build hardware systems that are not necessarily designed for modular configuration. Such systems may have limited upgradeability through firmware updates. For example, firmware stored in a read-only memory (ROM) of a device may be “flashed” or upgraded with an updated version.
In the software realm, the shareware distribution model allows on-the-fly upgradeability of software applications. The term “shareware” may refer to software that is provided to users without payment on a trial basis and that is often limited by any combination of functionality, availability or convenience. Typically, there may be two versions of a shareware software application, namely an “evaluation version” and a “full version” (or “registered version”). The evaluation version may have certain feature limitations or may cease to become functional after a pre-determined amount of time or number of uses constituting an evaluation period. If a user desires to register the software, the user may purchase a registration code. Entry of a valid registration code “unlocks” the software and allows the user access to all of the features and functionality of the full version. One aim of shareware is to give consumers the opportunity to use the program and judge its usefulness before purchasing a license for the full version of the software. An added benefit is that consumers may upgrade “on-the-fly” without the need to physically obtain a separate version of the software.
It is desirable to provide systems and methods for allowing the ability to unlock hardware features on-the-fly. Such systems and methods would permit hardware component manufacturers to maintain different product lines based on a single design of a physical component. Hardware systems integrators would also enjoy economic and logistical advantages as a result of a simplified component product line. Component manufacturers and systems integrators would be able to offer novel revenue implementation strategies including time-based or usage-based subscription models for selected hardware modules. Furthermore, such systems and methods would provide simple upgrade paths to consumers without the need to physically replace components.